﻿// DigitalDesign
// Project: InformationBoard
// Developer: Syzdykov Sergey
// Created: 09.11.2011
// Last change: 09.11.2011
// Description: interface of AdminService 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace Server
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IAdminService" in both code and config file together.
    [ServiceContract]
    public interface IAdminService
    {
        //методы работы с клиентами
        [OperationContract]
        List<ClientNotEF> GetListOfClients();
        
        [OperationContract]
        List<ClientNotEF> GetListOfStationClients(int id);

        [OperationContract]
        bool AddClient(ClientNotEF client);

        [OperationContract]
        bool DeleteClient(int id);

        [OperationContract]
        bool UpdateClient(ClientNotEF client);



        //методы работы с вокзалами
        [OperationContract]
        List<StationNotEF> GetListOfStations();

        [OperationContract]
        bool AddStation(StationNotEF client);

        [OperationContract]
        bool DeleteStation(int id);

        [OperationContract]
        bool UpdateStation(StationNotEF client);

        //методы работы с локациями
        [OperationContract]
        List<LocationNotEF> GetListOfStationLocations(int id);

        [OperationContract]
        bool AddLocation(LocationNotEF client);

        [OperationContract]
        bool DeleteLocation(int id);

        [OperationContract]
        bool UpdateLocation(LocationNotEF client);

        //вернуть все классы пассажиров
        [OperationContract]
        List<ClassesOfPassengerNotEF> GetListOfPassengers();

    }
}
